package system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import common.model.po.SysTopic;
import common.model.request.base.PaginationRequest;
import common.model.response.base.Result;
import system.model.request.ModifyTopicSortRequest;
import system.model.request.SaveTopicRequest;
import system.model.request.SearchTopicRequest;
import system.model.request.ToggleTopicClosedRequest;
import system.model.vo.SysTopicVo;

/**
 * 服务类
 *
 * @author 米泽鹏
 * @since 2023-08-29 上午 12:15
 */
public interface SysTopicService extends IService<SysTopic> {

	Page<SysTopicVo> pageSysTopic(PaginationRequest<SearchTopicRequest, SysTopic> paginationRequest);

	Result<?> saveTopic(SaveTopicRequest request);

	Result<?> deleteTopic(Long id);

	Result<?> toggleTopicClosed(ToggleTopicClosedRequest request);

	Result<?> modifyTopicSort(ModifyTopicSortRequest request);

}
